home *** CD-ROM | disk | FTP | other *** search
Wrap
Text File | 2010-02-13 | 93.8 KB | 2,855 lines
var globalAutoCompleteResult; var NTK = { document: null, window: null, DOMParser: null, personalAccessStats: "", globalAutoCompleteResult: null, globalAutoCompleteSearch: "", globalAutoSearchInProgress: 0, globalsearchShortcutsList: "", box3Const: 0, box3ConstBarConst: 30, faviconService: Components.classes["@mozilla.org/browser/favicon-service;1"].getService(Components.interfaces.nsIFaviconService), prefs: Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("extensions.ntk."), historyService: Components.classes["@mozilla.org/browser/nav-history-service;1"].getService(Components.interfaces.nsINavHistoryService), completeService: Components.classes["@mozilla.org/autocomplete/search;1?name=history"].getService(Components.interfaces.nsIAutoCompleteSearch), mystrings: Components.classes["@mozilla.org/intl/stringbundle;1"].getService(Components.interfaces.nsIStringBundleService).createBundle("chrome://newtabking/locale/newtabking.properties") }; function getRes(key) { return NTK.mystrings.GetStringFromName(key); } function getHistoryComplete(i, j) { if (i == NTK.globalAutoCompleteSearch) return; if (i == '') { w.stop(); return; } getGoogleSuggest(i); if (NTK.globalAutoSearchInProgress > 0) { NTK.completeService.stopSearch(); } NTK.globalAutoSearchInProgress++; GRI = null; var e, k; NTK.globalAutoCompleteSearch = i; if (window.event) { e = window.event.keyCode } else { if (j) { e = j.which } } if (i.length <= 2) { var h = parseInt(i); if (e == 13 && h >= 1 && h <= 99) { var l = document.getElementById("r_" + (h - 1)); if (l == null) { return } nav(l.parentNode.href); return true } if (h >= 1 && h <= 99) { NTK.globalAutoCompleteSearch = "+!*+" + document.getElementById("r_" + (h - 1)).parentNode.href } } if (e == 13 && globalArrowsUsed == false) { nav(navGo(i)) } if (e == 38 || e == 40) { globalArrowsUsed = true } NTK.completeService.startSearch(i, "", globalAutoCompleteResult, myListener); } function isTabPressed(h) { var f; if (window.event) { f = window.event.keyCode } else { if (h) { f = h.which } } if (f == 13) { var x = document.getElementById('searchboxy').value; //window.location = 'http://search.newtabking.com/?q=x'; nav(navGo(x)); } if (f == 9) { h.preventDefault(); try { var g = QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIWebNavigation).QueryInterface(Components.interfaces.nsIDocShellTreeItem).rootTreeItem.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIDOMWindow) } catch(h) { if (window.opener) { var g = window.opener } } var e = g.document.getElementById("urlbar"); e.focus(); e.select(); return false } } var myListener = { QueryInterface: function (b) { if (b.equals(Components.interfaces.nsIAutoCompleteObserver)) { return this } throw Components.results.NS_NOINTERFACE }, onSearchResult: function (S, N) { //if (N.searchString != document.getElementById('searchboxy').value) return; //if (N.searchResult==4 && NTK.globalAutoSearchInProgress>1) { NTK.globalAutoSearchInProgress--; return; } globalAutoCompleteResult = N; var ab, ao, U, aa, aq, O, ai, ac, L, am, M, ah, ad, Y, K, aj, X, Q, R, W, ak, ag, ap, T, al, an, af, Z, P, i; L = '<li class="item" onselect="navGo(document.getElementById("searchboxy").value)">'; L += '<img style="vertical-align:top" height="15px" '; var str = getRes("GoRightTo"); if (NTK.globalAutoCompleteSearch.substring(0, 4) == "+!*+") { L += ' src="ntkExt16x16.png"/> '+str+': <u><strong>' + NTK.globalAutoCompleteSearch.substring(4, NTK.globalAutoCompleteSearch.length) + "</strong>"; GRI = L.substring(0); NTK.globalAutoSearchInProgress--; return 0 } var V = getSearchShortcut(NTK.globalAutoCompleteSearch); if (V == false) { L += ' src="images/magglass.png"/> <b>' + NTK.globalAutoCompleteSearch + "</b>" } else { L += ' src="ntkExt16x16.png"/> '+str+': <u><strong>' + V + "</strong>"; GRI = L.substring(0); NTK.globalAutoSearchInProgress--; return 0 } L += "</u></li>"; GRI0 = L.substring(0); L = ''; af = getBlackList(); //alert(N.searchString + ' / ' + N.matchCount); var ma = NTK.prefs.getIntPref('searchbarNumHistory'); for (Z = 0; Z < ma && Z < N.matchCount; Z++) { if (N.getValueAt(Z) != null) { ah = N.getValueAt(Z); an = false; for (P = 0; P < af.length; P++) { if (ah.indexOf(af[P]) >= 0) { an = true; break } } if (an) { continue } if (!NTK.historyService) { NTK.globalAutoSearchInProgress--; return null; } ak = NTK.historyService.getNewQueryOptions(); ag = NTK.historyService.getNewQuery(); ak.maxResults = 10; ag.uri = getNSIURI(ah); ag.hasUri = true; T = NTK.historyService.executeQuery(ag, ak); al = T.root; al.containerOpen = true; R = 1; W = 0; if (al.childCount > 0) { i = al.getChild(0); R = i.accessCount; W = getLastAccess(i.time) } al.containerOpen = false; M = N.getCommentAt(Z); if (M.length > 96) { M = M.substr(0, 96) + "..." } ad = M.toLowerCase(); Y = N.searchString.toLowerCase(); //NTK.globalAutoCompleteSearch.toLowerCase(); K = ad.indexOf(Y); if (K >= 0) { aj = M.substr(K, N.searchString.length); //NTK.globalAutoCompleteSearch.length); M = M.replace(aj, "<strong><u><strong>" + aj + "</strong></u></strong>") } if (ah.length > 74) { ah = ah.substr(0, 74) + "..." } X = ah.toLowerCase(); K = X.indexOf(Y); if (K >= 0) { aj = ah.substr(K, N.searchString.length); //NTK.globalAutoCompleteSearch.length); ah = ah.replace(aj, '<xxx class="autocompleteHigh">' + aj + "</xxx>") } //ah=ah.replace(NTK.globalAutoCompleteSearch,"<u><strong>"+NTK.globalAutoCompleteSearch+"</strong></u>"); ah = ah.replace(N.searchString, "<u><strong>" + N.searchString + "</strong></u>"); if (M == "") { M = ah } var str = getRes("TotalVisits"); var str2 =getRes("MostRecentVisit"); M = '<img style="vertical-align:middle" height="15px" src="' + N.getImageAt(Z) + '"/> ' + M; am = '<span class="stats"><b>'+str+': ' + R + '<br></b> '+str2+': ' + W + "</span>" + M + '<div align="left" class="suggestURL">' + ah + "</div>"; L += '<li class="item" onselect="' + N.getValueAt(Z) + '">' + am + "</li>" } } var ae = GRI; if (N.searchString == document.getElementById('searchboxy').value) { GRI = L.substring(0); } //alert(N.searchResult +' '+GRI); if (N.searchResult == 4 || N.searchResult == 3) { //if (w.L.style.display!="none") { } //document.getElementById('editStuff').innerHTML += '.'+( NTK.globalAutoSearchInProgress); //if (NTK.globalAutoSearchInProgress==1) { if (N.searchString == document.getElementById('searchboxy').value) { // alert(N.searchResult + ' ' +N.searchString + ' ' + document.getElementById('searchboxy').value); //w.stop(); //w.d("d"); //alert (document.getElementById('searchboxy').value); w.c(); setTimeout(function () { w.T = setTimeout(w.$r, 10) }.bind(w, 0.01), 4); } NTK.globalAutoSearchInProgress--; } if (N.searchResult != 4 && GRI != '' && ae != GRI) { //&&ae!=GRI+GRI2){ // document.getElementById('no_0a_autocomplete_list').innerHTML += '<span style=\'padding:0\'></span><li class="item">stam</li>'; // document.getElementById('no_0b_autocomplete_list').innerHTML += '<span style=\'padding:0\'></span><li class="item">stam</li>'; }; return 0 }, }; function navHome() { var c = document.createElement("MyExtensionDataElement"); c.setAttribute("attribute1", "foobar"); c.setAttribute("attribute2", "hello world"); document.documentElement.appendChild(c); var d = document.createEvent("Events"); d.initEvent("NTK_SettingChange", true, false); c.dispatchEvent(d); window.location = "chrome://newtabking/content/newtabking2.htm" } function getVisitsForUrl(k) { var l, g, i, h, j; g = NTK.historyService.getNewQueryOptions(); i = NTK.historyService.getNewQuery(); g.maxResults = 1; i.uri = getNSIURI(k); i.hasUri = true; queryRes = NTK.historyService.executeQuery(i, g); h = queryRes.root; h.containerOpen = true; l = 1; if (h.childCount > 0) { j = h.getChild(0); l = j.accessCount } h.containerOpen = false; return l } function navGo(d) { var e = getSearchShortcut(d); if (e != false) { return e } if (d.substr(0, 3) == "www") { return "http://" + d } else { if (d.substr(0, 4) == "http") { return (d) } else { if (d.indexOf(".") > 2) { return ("http://" + d) } else { var f = getSearchURL(); return (f + d) } } } } function getSearchURL() { var d = 3; try { d = NTK.prefs.getIntPref("ntksearchEngine-pref") } catch(c) { NTK.prefs.setIntPref("ntksearchEngine-pref", 3) } switch (d) { case 0: return "http://www.ask.com/web?q="; break; case 1: return "http://www.bing.com/search?q="; break; case 2: return "http://www.google.com/search?q="; break; case 4: return "http://en.wikipedia.org/wiki/Special:Search?search="; break; case 5: return "http://search.yahoo.com/search?p="; break; case 6: return "http://www.google.co.uk/search?q="; break; case 7: return "http://www.google.es/search?q="; break; case 8: return "http://www.google.fr/search?q="; break; case 9: return "http://www.google.de/search?q="; break; case 10: return "http://www.google.it/search?q="; break; case 11: return "http://www.google.ru/search?q="; break; case 16: return "http://www.google.no/search?q="; break; case 17: return "http://www.google.co.nz/search?q="; break; case 18: return "http://www.google.com.au/search?q="; break; case 19: return "http://www.search.com/search?q="; break; case 20: return "http://swagbucks.com/?t=w&p=1&q="; break; case 21: return "http://www.google.at/search?q="; break; case 12: return "http://www.google.com.br/search?q="; break; case 13: return "http://www.baidu.com/s?wd="; break; case 14: return "http://www.yandex.ru/yandsearch?clid=140494&text="; break; case 15: return "http://www.kvasir.no/alle?q="; break; default: return "http://" + getSearchSite() + "/?cx=" + adSenseChannel + "&cof=FORID:9&ie=utf-8&q="; break } } function getSearchShortcut(j) { var h, k, l, i; for (var g = 0; g < NTK.globalsearchShortcutsList.length; g++) { if (NTK.globalsearchShortcutsList[g] == "") { continue } h = NTK.globalsearchShortcutsList[g].split("::"); if (j == h[1]) { return h[0] } } return false } function getSearchSite() { var c; try { c = NTK.prefs.getCharPref("searchSite") } catch(d) {} if (c == "" || c == null) { return "search.newtabking.com" } return c } var adSenseChannel = "partner-pub-0262891402493658:mqkypu-b0gi"; const checkSeachEngEveryNewTab = 20; const thumbnailMaxChars = 32; const brothersoft = false; var gSearchStart = new Array(); function checkSearchEngines() { var r = Math.floor(Math.random() * checkSeachEngEveryNewTab); if (r != checkSeachEngEveryNewTab / 2) return; checkSearch(1); checkSearch(2); checkSearch(3); checkSearch(4) } function setFastestSearchEngine() { var k = NTK.prefs.getIntPref("searchEng1"); var l = NTK.prefs.getIntPref("searchEng2"); var n = NTK.prefs.getIntPref("searchEng3"); var h = NTK.prefs.getIntPref("searchEng4"); var i = 1, j; if (k != -1) { i = 1; j = k } if (l != -1 && l < j) { i = 2; j = l } if (n != -1 && n < j) { i = 3; j = n } if (h != -1 && h < j) { i = 4; j = h } var m = i; if (m == 1) { m = "" } NTK.prefs.setCharPref("searchSite", "search" + m + ".newtabking.com") } function checkSearch(h) { NTK.prefs.setIntPref("searchEng" + h, -1); gSearchStart[h] = new Date(); var g = new window.XMLHttpRequest(); var f = h; if (h == 1) { f = "" } var e = "http://search" + f + ".newtabking.com/?cx=" + adSenseChannel + "&cof=FORID:9&ie=utf-8&q=test123"; g.open("GET", e, true); g.onreadystatechange = function (b) { if (g.readyState == 4) { if (g.status == 200) { var c = new Date(); var a = c.getTime() - gSearchStart[h]; NTK.prefs.setIntPref("searchEng" + h, a); setFastestSearchEngine(); } } }; g.send(null); } function sidebarShow(b) { var c = NTK.prefs.getBoolPref("sideboxShow"); c = !c; NTK.prefs.setBoolPref("sideboxShow", c); if (!c) { NTK.prefs.setIntPref("sidebarHeight", document.getElementById("sidebox").clientHeight) } navHome() } function sidebarShowOnLoad(n) { var j = document.getElementById("sidebox"); var k = document.getElementById("sidebox-collapse"); var l = document.getElementById("box"); var m = document.getElementById("searchboxy"); var h = document.getElementById("box3wrapper"); var i = document.getElementById("botTbl"); var img = document.getElementById('sideboxImg'); if (n) { j.style.display = ""; //k.style.display="none"; img.src = 'images/expand-right.png'; img.onClick = 'kaki();'; l.style.width = "600px"; m.style.width = "530px"; h.style.width = "630px"; i.style.width = "620px" } else { j.style.display = "none"; img.src = 'images/collapse-right.png'; img.onClick = 'pipi();'; k.style.display = "block"; document.getElementById("sidebox-collapse").style.height = NTK.prefs.getIntPref("sidebarHeight") + "px"; l.style.width = "825px"; m.style.width = "755px"; h.style.width = "855px"; i.style.width = "845px" } document.getElementById("sidebox-collapse").style.height = (document.getElementById("sidebox").clientHeight-20)+'px'; NTK.prefs.setBoolPref("sideboxShow", n) } function getGoogleSuggest(term) { /* var f="http://search.yahooapis.com/WebSearchService/V1/relatedSuggestion?appid=YahooDemo&query="+term; var e = d.getElementsByTagName('Result'); key = e[i].childNodes[0].nodeValue; */ if (term == '') return; var f = "http://toolbarqueries.google.com/complete/search?output=toolbar&hl=en&q=" + term; var g = new window.XMLHttpRequest(); g.open("GET", f, true); g.onreadystatechange = function () { if (g.readyState == 4) { if (g.status == 200) { if (g.responseText != "") { var par = parser = new DOMParser(); var d = parser.parseFromString(g.responseText, "text/xml"); GRI2 = ''; var e = d.getElementsByTagName('suggestion'); var tar, key, maxSug = NTK.prefs.getIntPref('searchbarNumSuggestions'); for (var i = 0; i < maxSug && i < e.length; i++) { key = e[i].getAttribute('data'); tar = getSearchURL() + key; GRI2 += '<li onselect="' + tar + '" class="item"><img height="15px" src="images/magglass.png" style="vertical-align: top;"/><b> ' + key + '</b></li>'; } } } } } g.send(null); } function getFavicon(url) { var x = getNSIURI(url); return NTK.faviconService.getFaviconImageForPage(x); } function getPlacesForDomain(o, p) { var r, l, m, k, i, q, n; r = new Array(); if (!NTK.historyService) { return null } l = NTK.historyService.getNewQueryOptions(); m = NTK.historyService.getNewQuery(); if (o && (o > 0)) { l.maxResults = o } l.sortingMode = 8; m.onlyBookmarked = false; m.domain = p; k = NTK.historyService.executeQuery(m, l); i = k.root; i.containerOpen = true; for (n = 0; n < i.childCount; n++) { q = i.getChild(n); r[n] = new Object(); if (q.title == "") { r[n].title = q.uri } else { r[n].title = q.title } r[n].icon = getFavicon(q.uri); //q.icon; r[n].uri = q.uri; r[n].accessCount = q.accessCount } i.containerOpen = false; return r } function getHoursForDomain(A, D) { var E, r, u, q, i, B, z, s = 30; E = new Array(); if (!NTK.historyService) { return null } r = NTK.historyService.getNewQueryOptions(); r.maxResults = A; r.sortingMode = 8; r.resultType = r.RESULTS_AS_VISIT; options2 = NTK.historyService.getNewQueryOptions(); options2.maxResults = A; options2.sortingMode = 8; var t = new Array(); var x, y, C, v; t[30] = 0; t[31] = 0; for (day = 0; day < s; day++) { x = NTK.historyService.getNewQuery(); y = NTK.historyService.getNewQuery(); x.uri = getNSIURI(D); x.hasUri = true; y.hasDomain = true; y.domain = getHostofUrl(D); x.beginTimeReference = x.TIME_RELATIVE_TODAY; x.beginTime = (-(day + 1) * 24) * 60 * 60 * 1000000; x.endTimeReference = x.TIME_RELATIVE_TODAY; x.endTime = (-(day) * 24) * 60 * 60 * 1000000; if (day == 0) { x.endTime = 0 } x.onlyBookmarked = false; y.beginTimeReference = y.TIME_RELATIVE_TODAY; y.beginTime = (-(day + 1) * 24) * 60 * 60 * 1000000; y.endTimeReference = y.TIME_RELATIVE_TODAY; y.endTime = (-(day) * 24) * 60 * 60 * 1000000; if (day == 0) { y.endTime = 0 } y.onlyBookmarked = false; q = NTK.historyService.executeQuery(x, r); C = NTK.historyService.executeQuery(x, options2); i = q.root; i.containerOpen = true; v = C.root; v.containerOpen = true; t[day] = 0; for (z = 0; z < 100 && z < i.childCount; z++) { B = i.getChild(z); t[day] += B.accessCount; t[31] += B.accessCount } t[day] = i.childCount + v.childCount; t[30] += t[day]; i.containerOpen = false } return t } function getPlaces(B, E, i) { var G, e, C, z, F, x, s, t, D, v, A, u; u = NTK.prefs.getIntPref("viewTime"); G = new Array(); if (!NTK.historyService) { return null } e = NTK.historyService.getNewQueryOptions(); if (B && (B > 0)) { e.maxResults = B } if (E) { e.sortingMode = 8 } C = new Array(); try { z = NTK.prefs.getIntPref("timezone") } catch(y) { z = 0; NTK.prefs.setIntPref("timezone", 0) } switch (z) { case 1: F = 6; x = 12; break; case 2: F = 12; x = 17; break; case 3: F = 17; x = 21; break; case 4: F = -3; x = 6; break } if (z > 0) { for (v = 0; v < u; v++) { C[v] = NTK.historyService.getNewQuery(); C[v].beginTimeReference = C[v].TIME_RELATIVE_TODAY; C[v].beginTime = (-(v + 1) * 24 + F) * 60 * 60 * 1000000; C[v].endTimeReference = C[v].TIME_RELATIVE_TODAY; C[v].endTime = (-(v + 1) * 24 + x) * 60 * 60 * 1000000; C[v].onlyBookmarked = i } } else { C[0] = NTK.historyService.getNewQuery(); C[0].onlyBookmarked = i; C[0].beginTimeReference = C[0].TIME_RELATIVE_NOW; C[0].beginTime = -u * 24 * 60 * 60 * 1000000; C[0].hasEndTime = false } s = NTK.historyService.executeQueries(C, C.length, e); t = s.root; t.containerOpen = true; if (brothersoft) { G[0] = new Object(); G[0].title = "Brothersoft"; G[0].icon = "images/df.png"; G[0].uri = "http://www.brothersoft.com"; G[0].accessCount = Math.ceil(999 * (u / 120)); A = 1; } else { A = 0; } for (A = A; A < t.childCount; A++) { D = t.getChild(A); G[A] = new Object(); G[A].title = D.title; G[A].icon = getFavicon(D.uri); //D.icon; G[A].uri = D.uri; G[A].accessCount = Math.ceil(D.accessCount * (u / 120)); G[A].time = D.time } t.containerOpen = false; return G } function showViewMode(h) { for (var e = 0; e < 3; e++) { if (e == h) { document.getElementById("timezone" + e).className = "timezoneSelected" } else { document.getElementById("timezone" + e).className = "timezone" } } var i = false; try { i = NTK.prefs.getBoolPref("thumbsDone") } catch(j) {} var d; if (i) { d = "" } else { d = "none" } document.getElementById("timezone1").style.display = d } function showTimeMain(d, e) { var f = document.getElementById("timeview0"); if (d == 120) { f.className = "timezoneSelected" } else { f.className = "timezone" } f = document.getElementById("timeview1"); if (d == 30) { f.className = "timezoneSelected" } else { f.className = "timezone" } f = document.getElementById("timeview2"); if (d == 7) { f.className = "timezoneSelected" } else { f.className = "timezone" } if (e) { document.getElementById("mainContent").innerHTML = getMainContent() } } function showTime(b) { NTK.prefs.setIntPref("analyticsYear", 1972); NTK.prefs.setIntPref("viewTime", b); navHome() } function showView(b) { NTK.prefs.setIntPref("viewMode", b); navHome() } function writeCell(b) { write("<td>"); write(b); write("</td>") } function createImage(b) { if (brothersoft && b == null) { b = 'http://www.brothersoft.com/favicon.ico'; } return '<img class="aM" src="' + b + '" />'; } function createDrilldown(f, e) { var h, g; h = new Uri(f); g = " onclick=\"gD('" + h.getHost() + "'," + e + ')" '; var str = getRes("Details"); return "<a " + g + ' title="' + h.getHost() + ' '+str+' rel="type:element" class="ren mb" >'+str+'</a>' } function createLink(n, v, l, o, m, q, r, u) { var s, p; if (n.substr(0, 6) == "index.") { n = v } if (n.substr(0, 9) == "login.php") { n = v } s = n.substr(0, l); if (s != n) { s = s + "..." } p = '<b><a href="' + v + '" ' /*onclick="nav(\''+v+'\')*/ + '" title="' + v + '" '; if (r) { p += ' target="_new" ' } p += ' class="aI">'; if (o) { p += createImage(o.spec) } else { p += '<img border=0 class="aL" src="images/df.png" />' } var t = "aUtBl('" + v + "'," + q + ")"; p += ' <span class="mL" id="r_' + q + '">' + s + "</span></a> "; if (u) { var str = getRes("RenameTooltips"); var str2 = getRes("Edit"); var str3 = getRes("RemoveTooltips"); var str4 = getRes("Remove"); p += '<span id="e_' + q + '" style="display:none;position:absolute;top:6px;right:75px;text-align:right">' + createDrilldown(v, q) + ' <a class="ren" onclick="edit(' + q + ')" title="'+str+'" >'+str2+'</a> <a class="ren" onclick="' + t + '" title="'+str3+'" >'+str4+'</a></span>' } p += "</b>"; return p } function edit(d) { if (!changing) { var c = document.getElementById("r_" + d); c.innerHTML = '<input id="' + c.id + '_field" size="45" maxlength="254" type="text" value="' + c.innerHTML + '" onkeypress="return titleEnter(this,event,\'' + c.id + '\')" onfocus="highLight(this);" onblur="noLight(this); return titleBlur(this,\'' + c.id + "');\" />"; changing = true } c.firstChild.focus(); return true } function rebuildAfterTimeout() { rebuildPage(getMainContent()) } function write(b) { document.write(b) } function writeHeader(d, c) { if (!c) { c = 1 } write("<h" + c + ">" + d + "</h" + c + ">") } function printPlaces(f, h) { var g, i, j; g = '<table style="padding-left:10px">'; for (j = 0; j < (f.length) - 1; j++) { if (f[j] == null) { break } i = f[j].icon; g = g + ('<tr class="popCell"><td> '); g = g + ('<span class="thumbTitle">'); g = g + (createLink(f[j].title, f[j].uri, 20, i, true, 0, h, true)); g = g + ("</span></td>"); g = g + ("</tr>") } g = g + ("</table>"); return g } function getMaxAccessCount(e) { if (!e || !e.length) { return null } totalAccessCount = 0; var f, d; try { d = e[0].accessCount; } catch (e) { return null; } for (f = 1; f < e.length; f++) { if (e[f] == null) { break } totalAccessCount = totalAccessCount + e[f].accessCount; if (e[f].accessCount > d) { d = e[f].accessCount } } return d } function sortTitle(a, b) { a = a.title.toLowerCase(); b = b.title.toLowerCase(); if (a > b) { return 1 } if (a < b) { return -1 } return 0 } function sortVisit(a, b) { return b.accessCount - a.accessCount } function sortTime(a, b) { return b.time - a.time } function getPlacesDrillAsCharts(i, h, j) { var k, l, g; h.sort(sortVisit); l = getMaxAccessCount(h); if (!l) {} k = ('<div style="padding:10px"><div class="section">'); k += ('<ul class="chartlist" style="width:100%">'); for (g = 0; g < h.length; g++) { if (h[g] == null) { break } k += ('<li id="row_' + g + '">'); k += (createLink(h[g].title, h[g].uri, 47, h[g].icon, false, 0, j, true)); var str = getRes("Visits"); k += ('<span class="count">' + h[g].accessCount + " "+str+"</span>"); k += ('<span class="index" style="width: ' + Math.round(h[g].accessCount * 94 / l) + '%">(' + h[g].accessCount + "%)</span>"); k += ("</li>") } k += ("</ul>"); k += ("</div></div>"); return k } function getPlacesAsCharts(j, m) { var o, p, n, k, i, l; k = NTK.prefs.getIntPref("maxMostUsedSites"); j.length = k; p = getMaxAccessCount(j); if (!p) {} o = ('<div class="section">'); o += ('<ul class="chartlist" style="width:100%">'); n = 100; for (i = 0; i < j.length && i < k && j[i] != null; i++) { o += ('<li id="row_' + i + '" onmouseout="sDi(' + i + ',0)" onmouseover="sDi(' + i + ',1)">'); o += createLink(j[i].title, j[i].uri, 47, j[i].icon, true, i, m, true); var str = getRes("VisitsCap"); o += ('<span class="count">'+str+': ' + j[i].accessCount + " </span>"); o += ('<span class="num" >' + (i + 1) + "</span>"); o += ('<span class="index" style="width: ' + Math.round(j[i].accessCount * 94 / p) + '%">(' + j[i].accessCount + "%)</span>"); o += ("</li>") } numMostUsedSites = i; o += ("</ul>"); o += ("</div>"); return o } function sDi(b, c) { var a = document.getElementById("e_" + b); if (c == 1) { a.style.display = "" } else { a.style.display = "none" } } function getNSIURI(d) { var c = Components.classes["@mozilla.org/network/standard-url;1"].createInstance(Components.interfaces.nsIURI); c.spec = d; return c } function getHostofUrl(b) { return getNSIURI(b).host } function calcPlacesAsAnalytics() { var j, f, i, h; j = [removeDuplicatesFilter, fixEmptyTitlesFilter, removeWWWFromTitles, filterBlackList]; f = false; i = getPlaces(10 * NTK.prefs.getIntPref("maxMostUsedSites"), true, f); i = filterPlaces(i, j); i.sort(sortVisit); var g = calcPlacesAsAnalytics2(i, getmostUsedinNewTab()); h = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString); h.data = g; NTK.prefs.setComplexValue("ntkAnalytics", Components.interfaces.nsISupportsString, h) } function getPlacesAsAnalytics() { var o = ('<div class="section"><table cellspacing="10" cellpadding="2" class=speed style="width:100%">'); try { var p = NTK.prefs.getComplexValue("ntkAnalytics", Components.interfaces.nsISupportsString).data } catch(j) { window.setTimeout("calcPlacesAsAnalytics()", 3333); var str = getRes("PleaseWaitAnalytics"); return o + '<tr><td style="font-size:xx-small;color:#aaa">'+str+'</td></tr></table></div>' } var e = NTK.prefs.getBoolPref("sideboxShow"); var s, v, t; if (e) { s = 3 } else { s = 4 } var u; var q, i = false; for (var r = 0; ! i && r < 4; r++) { o += "<tr>"; for (q = 0; q < s; q++) { v = r * s + q; try { u = NTK.prefs.getComplexValue("ntkAnalytics-" + v, Components.interfaces.nsISupportsString).data } catch(j) {} o += u } o += "</tr>" } o += "</table></div>"; return o } function calcPlacesAsAnalytics2(B, C) { var D = "", z, G, H = 16, E = 4, N = 4, j, K; var O = NTK.prefs.getBoolPref("sideboxShow"); B.length = H; z = getMaxAccessCount(B); var x; G = 100; var I, i; var A; var L = new Array(); var J = new Array(); for (I = 0; I < H / N; I++) { for (j = 0; j < N; j++) { i = I * N + j; L[i] = 0; J[i] = getHoursForDomain(300, B[i].uri); for (var F = 0; F < (J[i].length - 1); F++) { if (J[i][F] > L[i]) { L[i] = J[i][F] } } } } for (I = 0; I < H / N; I++) { for (j = 0; j < N; j++) { i = I * N + j; D = '<td id="row_' + i + '"'; if (O) { D += " height=130 " } else { D += " height=160 " } D += "valign=top width=33%>"; A = flattedURL(B[i].uri); D += "<div onclick=\"nav('" + B[i].uri + '\')" class="lgThumb">'; D += '<div class="rDiv thumbUr" >' + createLink(B[i].title, B[i].uri, 27, B[i].icon, true, i, C, false) + "</div>"; D += "<a title=" + B[i].uri + " href=" + B[i].uri + ">"; D += '<div class="rTop">'; for (var y = 0; y < 30; y++) { var M = Math.floor(10 * J[i][y] / (0.1 * L[i])); if (J[i][y] > 0 && M <= 0) { M = 1 } if (M > 10) { M = 10 } var str = getRes("Visits"); D += '<img title="' + J[i][y] + ' '+str+'" src="images/r_' + M + '.png" class="rS"/>' } D += "</div></a>"; D += '<div class="rTo"><table width=100%><tr><td>' + getDayStr(30) + "</td><td align=right>" + getDayStr(0) + "</td></tr>"; var str = getRes("VisitsInTheLast30Days"); D += "<tr><td colspan=2>"+str+": <b>" + J[i][30] + "</b>"; D += "</td></tr></table></div>"; var str = getRes("Rank"); D += '<div class="rBtm">'+str+' #' + (1 + i) + "</div>"; D += "</div>"; D += "</td>"; x = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString); x.data = D; NTK.prefs.setComplexValue("ntkAnalytics-" + i, Components.interfaces.nsISupportsString, x) } } numMostUsedSites = 9; return D } function getDayStr(f) { var s1 = getRes("Jan"); var s2 = getRes("Feb"); var s3 = getRes("Mar"); var s4 = getRes("Apr"); var s5 = getRes("May"); var s6 = getRes("Jun"); var s7 = getRes("Jul"); var s8 = getRes("Aug"); var s9 = getRes("Sep"); var s10 = getRes("Oct"); var s11 = getRes("Nov"); var s12 = getRes("Dec"); var d = new Array(s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12); var e = new Date(); e.setDate(e.getDate() - f); return (d[e.getMonth()] + ". " + e.getDate()) } function getPlacesAsSpeeddial(C, u) { var t, A, r, B = 12, i = 4, y = 3, v, x; var p = NTK.prefs.getBoolPref("sideboxShow"); if (!p) { B = 16; i = 4; var y = 4 } C.length = B; A = getMaxAccessCount(C); if (!A) {} t = ('<div class="section"><table cellspacing="10" cellpadding="2" class=speed style="width:100%">'); r = 100; var q, z; var s; for (q = 0; q < B / y; q++) { t += "<tr>"; for (v = 0; v < y; v++) { z = q * y + v; t += "<td "; if (p) { t += " height=130 " } else { t += " height=160 " } t += 'valign=top width=33% id="row_' + z + '">'; s = flattedURL(C[z].uri); // t += "<div onclick=\"nav('" + C[z].uri + '\')" class="lgThumb">'; t += '<div class="lgThumb">'; t += "<div class=thumbUr>" + createLink(C[z].title, C[z].uri, 27, C[z].icon, true, z, u, false) + "</div>"; t += "<a onclick=\"nav('" + C[z].uri + "')\" href=\""+C[z].uri+"\" title=\""+C[z].title+"\""; if (u) { p += ' target="_new" ' } t += '>'; t += '<img border=0 src="thumbnails/' + s + '.png" '; t += " /></a>"; t += "</div>"; t += "</td>" } t += "</tr>" } numMostUsedSites = 9; t += ("</table"); t += ("</div>"); return t } function flattedURL(h) { h = h.substring(0, thumbnailMaxChars); var g = h.indexOf("://"); var e = h.substr(0, g + 3); var f = h.replace(e, ""); f = f.replace(/[^a-zA-Z 0-9]+/g,''); // f = f.replace(/\%/g, ""); // f = f.replace(/\&/g, ""); // f = f.replace(/\*/g, ""); // f = f.replace(/\?/g, ""); // f = f.replace(/\[/g, ""); // f = f.replace(/\]/g, ""); // f = f.replace(/\</g, ""); // f = f.replace(/\>/g, ""); // f = f.replace(/\=/g, ""); // f = f.replace(/\+/g, ""); // f = f.replace(/\'/g, ""); // f = f.replace(/\"/g, ""); // f = f.replace(/\\/g, ""); // f = f.replace(/\//g, ""); // f = f.replace(/\,/g, ""); // f = f.replace(/\./g, ""); // f = f.replace(/\:/g, ""); // f = f.replace(/\;/g, ""); // f = f.replace(/\#/g, ""); // f = f.replace(/ /g, ""); return f } function getmostUsedinNewTab() { var d = false; try { d = NTK.prefs.getBoolPref("mostUsedinNewTab-pref") } catch(c) {} return d } function clone(f) { if (f == null || typeof(f) != "object") { return f } var e = new f.constructor(); for (var d in f) { e[d] = clone(f[d]) } return e } function Uri() { this._uri = Components.classes["@mozilla.org/network/standard-url;1"].createInstance(Components.interfaces.nsIURI) } function Uri(c) { if (!c) { throw "uri is null or empty" } this._uri = Components.classes["@mozilla.org/network/standard-url;1"].createInstance(Components.interfaces.nsIURI); try { this._uri.spec = c } catch(d) {} } Uri.prototype.getHost = function () { return this._uri.host }; Uri.prototype.getSpec = function () { return this._uri.spec }; Uri.prototype.getPath = function () { return this._uri.path }; function List(b) { if (!b) { this._comparator = null } else { this._comparator = b } this._items = new Array() } List.prototype.getLength = function () { return this._items.length }; List.prototype.getArray = function () { return this._items }; List.prototype.getItem = function (b) { if (b < 0 || b > (this.getLength - 1)) { throw "index out of bounds" } return this._items[b] }; List.prototype.add = function (b) { this._items[this.getLength()] = b }; List.prototype.pop = function () { if (this.getLength()) { return null } var b = this._items[0]; this._items.splice(0, 1); return b }; List.prototype.toString = function () { if (0 == this.getLength()) { return "[ ]" } var c, d; c = "[ " + this._items[0]; for (d = 1; d < this.getLength(); d++) { c += ", " + this._items[d] } c += " ]"; return c }; List.prototype.contains = function (c) { for (var d = 0; d < this.getLength(); d++) { if (!this._comparator) { if (this._items[d] == c) { return true } } else { if (this._comparator(this._items[d], c)) { return true } } } return false }; function printObject(f, e) { var h = ""; for (var g in e) { h += (f + "." + g + "=" + e[g] + "\n") } alert(h) } function fixEmptyTitle(b) { if (!b.title) { b.title = b.uri } return b } function removeWWWFromTitle(e) { try { var d = new Uri(e.title); if (d.getHost().substring(0, 4) == "www.") { e.title = d.getHost().substring(4) } } catch(f) {} return e } function filterByOperator(h, f) { var g, e = new List(); for (g = 0; g < h.length; g++) { e.add(f(h[g])) } return e.getArray() } function filterByPredicate(h, f) { var g, e = new List(); for (g = 0; g < h.length; g++) { if (f(h[g])) { e.add(h[g]) } } return e.getArray() } function fixEmptyTitlesFilter(b) { return filterByOperator(b, fixEmptyTitle) } function removeWWWFromTitles(b) { return filterByOperator(b, removeWWWFromTitle) } function removeDuplicatesHelper(f) { var g, i, h, j; g = f.getItem(0); i = new Uri(g.uri); if (i.getPath().length == 0) { return g } for (j = 1; j < f.getLength(); j++) { h = new Uri(f.getItem(j).uri); if (f.getItem(j).accessCount > g.accessCount) { g = f.getItem(j); i = new Uri(g.uri) } } return g } function removeDuplicatesFilter(n) { var h, l, j, m; h = new List; l = {}; for (m = 0; m < n.length; m++) { j = new Uri(n[m].uri); if (!l[j.getHost().toLowerCase()]) { l[j.getHost().toLowerCase()] = new List() } l[j.getHost().toLowerCase()].add(n[m]) } for (var k in l) { var i = removeDuplicatesHelper(l[k]); if (!i) { alert("bububu") } h.add(i) } return h.getArray() } function filterPlaces(e, f) { for (var d = 0; d < f.length; d++) { e = f[d](e) } return e } function getBlackList() { try { var d = NTK.prefs.getCharPref("blacklist") } catch(c) { return [] } if (!d) { return [] } return d.split(";") } function isInPlaces(i, g) { var j, h, f; j = new Uri(i); for (f = 0; f < g.length; f++) { h = new Uri(g[f]); if (j.getHost().toLowerCase() == h.getHost().toLowerCase()) { return true } } return false } function filterBlackList(i) { var j, f, g, h; j = new Array(); f = 0; g = getBlackList(); for (h = 0; h < i.length; h++) { if (!isInPlaces(i[h].uri, g)) { j[f] = i[h]; f++ } } return j } function aUtBl(i, h) { var str = getRes("ConfirmRemoving"); answer = confirm(str + " :" + i); if (answer == 0) { return } var f, g; f = document.getElementById("row_" + h); if (f != null) { f.style.display = "none" } numMostUsedSites = numMostUsedSites - 1; document.getElementById("box3").style.height = NTK.box3Const + (numMostUsedSites) * NTK.box3ConstBarConst + "px"; try { g = NTK.prefs.getCharPref("blacklist") } catch(j) { g = "" } if (!g) { g = i } else { g += ";" + i } try { NTK.prefs.setCharPref("blacklist", g) } catch(j) { printObject("ex", j) } rebuildPage() } function gD(j, f) { var i, g, h; i = getPlacesForDomain(99, j); g = getPlacesDrillAsCharts(j, i, getmostUsedinNewTab()); document.getElementById("drilldown").innerHTML = g; h = i.length; document.getElementById("drilldown").style.height = 45 + (h) * NTK.box3ConstBarConst + "px"; window.Lightbox.open({ content: g, player: "html", title: j, height: 450, width: 600 }); return true } function getMainContent() { var c; c = generateContent(); var d = NTK.prefs.getIntPref("viewMode"); if (numMostUsedSites < 3) { document.getElementById("box3").style.height = "100px" } if (d == 0) { document.getElementById("box3").style.height = NTK.box3Const + (numMostUsedSites) * NTK.box3ConstBarConst + "px" } return (c) } function printUserfullApps() { if (NTK.prefs.getBoolPref("shortcuts-pref") && Components.classes["@mozilla.org/xre/app-info;1"].getService(Components.interfaces.nsIXULRuntime).OS == "WINNT") { document.getElementById("usefulAppsStub").innerHTML = getUsefulApps2(); } } function printMainContent() { var d = getMainContent(); var e = true; document.write(d); rebuildPage(d); try { e = NTK.prefs.getBoolPref("suggested-pref") } catch(f) {} if (e) { window.setTimeout("downloadRelated(true)", 5555) } } function generateContent() { var B, x, E, s; var C = NTK.prefs.getIntPref("maxMostUsedSites"); B = [removeDuplicatesFilter, fixEmptyTitlesFilter, removeWWWFromTitles, filterBlackList]; x = NTK.prefs.getBoolPref("bookmarksOnly"); E = getPlaces(10 * C, true, x); E = filterPlaces(E, B); E.sort(sortVisit); numMostUsedSites = E.length; var u = ""; for (var A = 0; A < 16 && E[A] != null; A++) { if (u != "") { u += ";" } u += (E[A].uri).substr(0, thumbnailMaxChars) } for (A = 0; A < E.length && A < C; A++) { if (E[A] == null) { break } if (NTK.personalAccessStats != "") { NTK.personalAccessStats += ";" } NTK.personalAccessStats += E[A].uri + "::" + E[A].accessCount } NTK.prefs.setCharPref("thumbsUrls", u); var y = 0; try { y = NTK.prefs.getIntPref("viewMode") } catch(v) {} var D = new Date(); var i = new Date(); var t = false; try { var e = NTK.prefs.getIntPref("analyticsYear"); var z = NTK.prefs.getIntPref("analyticsMonth"); var r = NTK.prefs.getIntPref("analyticsDay"); i.setFullYear(e, z, r); t = true } catch(v) {} if (!t || D - i > 1000000 * 60 * 60 * 24) { window.setTimeout("calcPlacesAsAnalytics()", 3333); NTK.prefs.setIntPref("analyticsYear", D.getFullYear()); NTK.prefs.setIntPref("analyticsMonth", D.getMonth()); NTK.prefs.setIntPref("analyticsDay", D.getDate()) } if (y == 0) { html = getPlacesAsCharts(E, getmostUsedinNewTab()) } if (y == 1) { html = getPlacesAsSpeeddial(E, getmostUsedinNewTab()) } if (y == 2) { html = getPlacesAsAnalytics() } s = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString); s.data = html; return html } function getSearchForm(i) { var j = false; try { j = NTK.prefs.getBoolPref("ntkfocus-pref") } catch(k) { NTK.prefs.setBoolPref("ntkfocus-pref", false) } var h = 3; try { h = NTK.prefs.getIntPref("ntksearchEngine-pref") } catch(k) { NTK.prefs.setIntPref("ntksearchEngine-pref", 3) } var e = '<form id="searchbox2" onsubmit="return validateSearch()" autocomplete="off" style="padding:0px 10px 0px 10px" '; var l = '<div class="sw_b0"><div class="sw_b1"><div class="sw_b2">'; switch (h) { case 0: e += ' action="http://www.ask.com/web" >' + l; e += '<input name="q" '; break; case 1: e += ' action="http://www.bing.com/search" >' + l; e += '<input name="q" '; break; case 2: e += ' action="http://www.google.com/search" >' + l; e += '<input name="q" '; break; case 4: e += ' action="http://en.wikipedia.org/wiki/Special:Search" >' + l; e += '<input name="search" '; break; case 5: e += ' action="http://search.yahoo.com/search" >' + l; e += '<input name="p" '; break; case 6: e += ' action="http://www.google.co.uk/search" >' + l; e += '<input name="q" '; break; case 7: e += ' action="http://www.google.es/search" >' + l; e += '<input name="q" '; break; case 8: e += ' action="http://www.google.fr/search" >' + l; e += '<input name="q" '; break; case 9: e += ' action="http://www.google.de/search" >' + l; e += '<input name="q" '; break; case 21: e += ' action="http://www.google.at/search" >' + l; e += '<input name="q" '; break; case 10: e += ' action="http://www.google.it/search" >' + l; e += '<input name="q" '; break; case 11: e += ' action="http://www.google.ru/search" >' + l; e += '<input name="q" '; break; case 12: e += ' action="http://www.google.com.br/search" >' + l; e += '<input name="q" '; break; case 13: e += ' action="http://www.baidu.com/s" >' + l; e += '<input name="wd" '; break; case 14: e += ' action="http://www.yandex.ru/yandsearch" >' + l; e += '<input type="hidden" name="clid" value="140494" /><input name="text" '; break; case 15: e += ' action="http://www.kvasir.no/alle" >' + l; e += '<input name="q" '; break; case 16: e += ' action="http://www.google.no/search" >' + l; e += '<input name="q" '; break; case 17: e += ' action="www.google.co.nz/search" >' + l; e += '<input name="q" '; break; case 18: e += ' action="www.google.com.au/search" >' + l; e += '<input name="q" '; break; case 19: e += ' action="www.search.com/search" >' + l; e += '<input name="q" '; break; case 20: e += ' action="www.swagbucks.com/" >' + l; e += '<input type="hidden" name="t" value="w" /><input type="hidden" name="p" value="1" /><input name="q" '; break; default: e += ' action="http://' + getSearchSite() + '" >' + l; e += '<input type="hidden" name="cx" value="' + adSenseChannel + '" /><input type="hidden" name="cof" value="FORID:9" /> <input type="hidden" name="ie" value="utf-8" />'; e += '<input name="q" '; break } e += ' type="text" id="searchboxy" value="" onfocus="if (this.value==\'\') { this.value= \'\'; this.style.fontWeight =\'bold\'; this.style.color=\'black\'; this.style.fontStyle=\'normal\';}" onkeydown="isTabPressed(event)" onkeyup="getHistoryComplete(this.value, event);" class="mainsearchBox sw_qbox '; if (i) { e += 'searchboxy_narrow" style="width:530px"' } else { e += 'searchboxy_wide" style="width:755px"' } var str = getRes("SearchTheWebFor"); e += '/><input type="submit" id="searImgID" title="'+str+'" class="sw_qbtn"/></div></div></div>'; if (j) { e += "<script type=\"text/javascript\">document.getElementById('searchboxy').focus();<\/script>" } e += '<div class="tippy" id="tipID"></div>'; e += "</form>"; return e } function validateSearch() { if (document.getElementById('searchboxy').value=='') { return false; } } function getSurvey() { if (NTK.prefs.getBoolPref("showSurvey") == false) { return } var str = getRes("TakeTheNewTabKingSurvey"); var b = '<hr/><a style="margin-left:5px" class="timezone" href="#" onclick="removeSurvey()"><img title="'+str+'" src="images/survey_btn.gif" border=0/></a>'; document.getElementById("surveyStub").innerHTML = b } function getTip() { var d = NTK.prefs.getIntPref("ntkTip"); var c; switch (d) { case 0: c = ""; break; case 1: c = getRes("Tip1"); break; case 2: c = getRes("Tip2"); break; case 3: c = getRes("Tip3"); break; case 4: c = getRes("Tip4"); break } if (d > 0) { var str = getRes("DoNotShowTheseTips"); c = "<table ><tr><td>" + c + ' </td><td class="closeBtn"> <a href="#" onclick="removeTip()" title="'+str+'"> </a></td></tr></table>' } document.getElementById("tipID").innerHTML = c; if (d != 0) { d = d + 1; if (d == 4) { d = 1 } NTK.prefs.setIntPref("ntkTip", d) } } function selectAutoFocus(b) {} function writeCurrentBookmarksOnlyText() { var d, c; d = NTK.prefs.getBoolPref("bookmarksOnly"); c = document.getElementById("switchBookmarksOnlyID"); var str = getRes("AllVisitedSites"); var str2 = getRes("BookmarksOnly"); if (d) { c.innerHTML = ' <span onclick="switchBookmarksOnly()" class="timezone">'+str+'</span> <span class="timezoneSelected">'+str2+'</span>' } else { c.innerHTML = ' <span class="timezoneSelected">'+str+'</span> <span onclick="switchBookmarksOnly()" class="timezone">'+str2+'</span>' } } function fileExist(f) { try { var e = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile); e.initWithPath(f); return (e.exists()) } catch(d) { return false } } function getUsefulApps() { var o, i, t, p, l, s, m, q, n, r; o = '<table style="padding-left:10px; padding-right: 10px; width: 100%;" cellpadding="0" cellspacing="0">'; o = o + ('<tr class="popCell"><td> '); o = o + ('<span class="thumbTitle">'); var str = getRes("MyDocuments"); o = o + (' <a href="#" class="aSidebar" onclick="launchFolder()" title="'+str+'" style="vertical-align:top"><img style="vertical-align:top" src="images//icon_documents.png" class="sImg" border="0"/> '+str+'</a>'); o = o + ("</span></td>"); o = o + ("</tr>"); i = NTK.prefs.getComplexValue("shortcuts", Components.interfaces.nsISupportsString).data; t = i.split(";"); for (r = 0; r < t.length; r++) { if (t[r] == "") { continue } p = t[r].split("::"); if (p[0] == "" || p[0] == null || p[1] == "" || p[1] == null) { continue } s = p[0]; q = false; if (s.substr(0, 4) == "http") { q = true } if (q) { s = s.replace(/\\/g, "//") } else { s = s.replace(/\\/g, "\\\\") } l = p[1]; m = p[2]; if (!q && fileExist(s) == false) { continue } if (m == null || m == "" || m == " ") { m = "images\\pointer.png" } o = o + ('<tr class="popCell"><td> '); o = o + ('<span class="thumbTitle">'); if (q) { o = o + ' <a class="aSidebar" href="' + s + '" ' } else { o = o + ' <a class="aSidebar" href="#" onclick="launchApp(\'' + s + "')\"" } o = o + 'title="' + l + '" style="vertical-align:top"><img class="sImg" src="' + m + '" /> ' + l + "</a>"; o = o + ("</span></td>"); o = o + ("</tr>") } o = o + ("</table>"); n = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString); n.data = o; return (o) } function getUsefulApps2() { var c, d; c = Components.classes["@mozilla.org/xre/app-info;1"].getService(Components.interfaces.nsIXULRuntime).OS; if (c == "WINNT") { var str = getRes("Shortcuts"); var str2 = getRes("ExpandCollapse"); d = '<div id="box4" ><hr/><table width="100%" style="padding-right:10px"><tr><td><h4 align="left" style="padding:0 10px 0 10px;margin:0 0 0 0">'+str+'</h4></td><td align=right><img id="expCol3" src="images/collapse.png" style="cursor:pointer" title="'+str2+'" onclick="expandCollapse(this,\'usefulApps\');" /></td></tr></table>'; d = d + '<div style="width:100%" id="usefulApps">' + getUsefulApps() + "</div></div>"; return d } else { return "" } } function rebuildPage(S) { var M, ab, G, J, P, L, Q, H, R, ac, W, e, X, T, K, I, O, F, U, ad, N, Z, V; M = "{FC5BAC7D-D696-4ba6-B913-CF8F000C33DF}"; ab = Components.classes["@mozilla.org/extensions/manager;1"].getService(Components.interfaces.nsIExtensionManager); G = ab.getInstallLocation(M).getItemFile(M, "chrome/content/ntk_template.htm"); J = G.path; P = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile); P.initWithPath(J); L = ""; Q = Components.classes["@mozilla.org/network/file-input-stream;1"].createInstance(Components.interfaces.nsIFileInputStream); H = Components.classes["@mozilla.org/scriptableinputstream;1"].createInstance(Components.interfaces.nsIScriptableInputStream); Q.init(P, -1, 0, 0); H.init(Q); R = H.read(4096); while (R.length > 0) { L += R; R = H.read(4096) } H.close(); Q.close(); L = L.toString(); try { ac = NTK.prefs.getComplexValue("titleStr", Components.interfaces.nsISupportsString).data } catch(E) { ac = getRes("ClickHereToChange"); } L = L.replace("titleStr", ac); try { ac = NTK.prefs.getComplexValue("tabTitleStr", Components.interfaces.nsISupportsString).data } catch(E) {} if (trim(ac) == "") { ac = "New Tab King" } L = L.replace("TABTITLESTUBSTR", ac); var Y = NTK.prefs.getBoolPref("sideboxShow"); L = L.replace("SEARCHFORMSTUBISHERE", getSearchForm(Y)); var ae = NTK.prefs.getIntPref("ntkTheme"); if (ae < 1 || ae > 7) { ae = 1 } L = L.replace("THEMENUMBERGOESHERE", ae); if (!Y) { L = L.replace("SIDEBOXSTYLESTUB", 'style="display:none"'); L = L.replace("box3styleSTUB", "box_wide"); L = L.replace("box3wrapperstyleStub", "box3wrapper_wide"); L = L.replace("botTblstyleStub", "botTbl_wide") } else { L = L.replace("SIDEBOXSTYLESTUB", ""); L = L.replace("box3styleSTUB", "box_narrow"); L = L.replace("box3wrapperstyleStub", "box3wrapper_narrow"); L = L.replace("botTblstyleStub", "botTbl_narrow") } try { T = NTK.prefs.getBoolPref("shortcuts-pref") } catch(E) { T = true; NTK.prefs.setBoolPref("shortcuts-pref", true) } K = Components.classes["@mozilla.org/xre/app-info;1"].getService(Components.interfaces.nsIXULRuntime).OS; if (K == "WINNT" && T) { I = getUsefulApps2(); L = L.replace("getUsefulApps", I) } else { L = L.replace("getUsefulApps", "") } O = S; if (O == null) { O = generateContent() } L = L.replace("getMainContent", O); var aa = NTK.prefs.getIntPref("viewMode"); if (aa == 0) { L = L.replace("box3height", (numMostUsedSites) * NTK.box3ConstBarConst + NTK.box3Const) } else { L = L.replace("box3height", "720px") } F = ab.getInstallLocation(M).getItemFile(M, "chrome/content/ntk_out.htm"); U = F.path; ad = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile); ad.initWithPath(U); N = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream); N.init(ad, 0x02 | 0x08 | 0x20, -1, 0); // 438 Z = "UTF-8"; V = Components.classes["@mozilla.org/intl/converter-output-stream;1"].createInstance(Components.interfaces.nsIConverterOutputStream); V.init(N, Z, 0, 0); V.writeString(L.substring(3)); V.close(); N.close() } function trim(b) { return b.replace(/^\s+|\s+$/g, "") } function rebuildFirstPage() { var I, V, F, H, B, J, K, G, L, W, P, S, T, O, C, Q, E, M, X, e, U, N; I = "{FC5BAC7D-D696-4ba6-B913-CF8F000C33DF}"; V = Components.classes["@mozilla.org/extensions/manager;1"].getService(Components.interfaces.nsIExtensionManager); F = V.getInstallLocation(I).getItemFile(I, "chrome/content/newtabking2.htm"); H = F.path; B = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile); B.initWithPath(H); J = ""; K = Components.classes["@mozilla.org/network/file-input-stream;1"].createInstance(Components.interfaces.nsIFileInputStream); G = Components.classes["@mozilla.org/scriptableinputstream;1"].createInstance(Components.interfaces.nsIScriptableInputStream); K.init(B, 1, -1, 0); G.init(K); L = G.read(4096); while (L.length > 0) { J += L; L = G.read(4096) } G.close(); K.close(); J = J.toString(); try { W = NTK.prefs.getComplexValue("titleStr", Components.interfaces.nsISupportsString).data } catch(D) { W = getRes("ClickHereToChange"); } P = J.indexOf('class="editText">') + 17; S = J.indexOf("</span>", P); T = J.substr(P, S - P); J = J.replace(T, W); try { W = NTK.prefs.getComplexValue("tabTitleStr", Components.interfaces.nsISupportsString).data } catch(D) {} if (trim(W) == "") { W = "New Tab King" } P = J.indexOf("<title>"); S = J.indexOf("</title>", P) + 8; T = J.substr(P, S - P); J = J.replace(T, "<title>" + W + "</title>"); P = J.indexOf("<form"); S = J.indexOf("</form>", P); T = J.substr(P, S - P + 7); var R = NTK.prefs.getBoolPref("sideboxShow"); J = J.replace(T, getSearchForm(R)); var Y = NTK.prefs.getIntPref("ntkTheme"); if (Y < 1 || Y > 7) { Y = 1 } P = J.indexOf("themes/newtabking-theme-"); if (P != -1) { T = J.substr(P, 25); J = J.replace(T, "themes/newtabking-theme-" + Y) } var e = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream); try { e.init(B, 0x02 | 0x08 | 0x20, -1, 0); // 511 } catch(D) { return } U = "UTF-8"; N = Components.classes["@mozilla.org/intl/converter-output-stream;1"].createInstance(Components.interfaces.nsIConverterOutputStream); N.init(e, U, 0, 0); if (J.substr(0, 2) == "<!") { N.writeString(J.substring(0)) } else { N.writeString(J.substring(3)) } N.close(); e.close() } function doNotepadHeight() { var j = document.getElementById("notepadTxtId"); var l = j.value; var c = l.split("\n"); var i = c.length; var h = 0; for (var k = 0; k < i; k++) { h += Math.floor(c[k].length / 28) } i += h + 1; if (i < 5) { i = 5 } j.style.height = (17 * i) + "px"; document.getElementById("sidebox-collapse").style.height = (document.getElementById("sidebox").clientHeight-20)+'px'; } function ntkOnload(v) { var E = NTK.prefs.getBoolPref("ntkSharing"); if (E) { document.getElementById("sharing").style.display = "" } var E = NTK.prefs.getBoolPref("ntkThemes"); if (E) { document.getElementById("themes").style.display = "" } var E = NTK.prefs.getBoolPref("ntkHeaderSearch"); if (E == false) { document.getElementById("box").style.display = "none" } document.getElementById("notepadTxtId").value = NTK.prefs.getComplexValue("notepadTxt", Components.interfaces.nsISupportsString).data; doNotepadHeight(); var C = NTK.prefs.getIntPref("ntkTheme"); if (C < 1 || C > 7) { C = 1 } var d, A; for (var x = 7; x > 0; x--) { if (x == C) { d = "1px"; A = "solid" } else { d = "0px"; A = "solid" } document.getElementById("theme-" + x).style.borderWidth = d; document.getElementById("theme-" + x).style.borderStyle = A } var i = false; try { i = NTK.prefs.getBoolPref("ntkfocus-pref") } catch(t) {} selectAutoFocus(i); if (v && i) { var y = document.getElementById("searchboxy"); y.value = ""; y.style.color = "black"; y.style.fontWeight = "bold"; y.style.fontStyle = "normal"; y.focus() } var u, z, s, e, D; u = NTK.prefs.getIntPref("viewTime"); z = u; D = NTK.prefs.getBoolPref("suggested-pref"); showViewMode(NTK.prefs.getIntPref("viewMode")); showTimeMain(u); populateRelatesSites(D); expandCollapseAll(); loadSearchShortscut(); try { var B = NTK.prefs.getComplexValue("love", Components.interfaces.nsISupportsString).data } catch(t) { B = "0" } if (B == "0") { downloadRelated(false) } getTip(); getSurvey(); writeCurrentBookmarksOnlyText(); checkSearchEngines(); sidebarShowOnLoad(NTK.prefs.getBoolPref("sideboxShow")); try { adSenseChannel = NTK.prefs.getCharPref("adSenseChannel"); } catch (e) {} return true } function expandCollapseAll() { var l, e, k, h, i; try { e = NTK.prefs.getBoolPref("recentlyCloseTabsId") } catch(j) { e = true } try { k = NTK.prefs.getBoolPref("relatedSitesId") } catch(j) { k = true } try { h = NTK.prefs.getBoolPref("usefulApps") } catch(j) { h = true } try { l = NTK.prefs.getBoolPref("notepadTxtId") } catch(j) { notepad = true } i = document.getElementById("notepadTxtId"); if (i != null) { if (l) { document.getElementById("notepadTxtId").style.display = ""; document.getElementById("expCol4").src = "chrome://newtabking/content/images/collapse.png" } else { document.getElementById("notepadTxtId").style.display = "none"; document.getElementById("expCol4").src = "chrome://newtabking/content/images/expand.png" } } i = document.getElementById("recentlyCloseTabsId"); if (i != null) { if (e) { document.getElementById("recentlyCloseTabsId").style.display = ""; document.getElementById("expCol1").src = "chrome://newtabking/content/images/collapse.png" } else { document.getElementById("recentlyCloseTabsId").style.display = "none"; document.getElementById("expCol1").src = "chrome://newtabking/content/images/expand.png" } } i = document.getElementById("relatedSitesId"); if (i != null) { if (k) { document.getElementById("relatedSitesId").style.display = ""; document.getElementById("expCol2").src = "chrome://newtabking/content/images/collapse.png" } else { document.getElementById("relatedSitesId").style.display = "none"; document.getElementById("expCol2").src = "chrome://newtabking/content/images/expand.png" } } if (h) { i = document.getElementById("usefulApps"); if (i != null) { document.getElementById("usefulApps").style.display = ""; document.getElementById("expCol3").src = "chrome://newtabking/content/images/collapse.png" } } else { if (document.getElementById("usefulApps")!=null) { document.getElementById("usefulApps").style.display = "none"; } if (document.getElementById("expCol3")!=null) { document.getElementById("expCol3").src = "chrome://newtabking/content/images/expand.png";} } } function populateRelatesSites(t) { var str = getRes("ExpandCollapse"); var str2= getRes("SitesYouWillLove"); var str3= getRes("SitesYouWillLoveExp"); var str4= getRes("SitesYouWillLoveEnable"); var str5= getRes("SitesYouWillLovePrivacy"); var u = '<div id="box5"><hr /><table width="100%"><tr><td><h4 align="left" style="padding:0 0 0 7px;margin:0 0 0 0"><span style="cursor:pointer" onclick="javascript:refreshRelatedSites()" title="Get other suggestions"> '+str2+'</span> <span style="font-size: 9px; font-weight: normal;" align="right">by <a href="http://www.similarweb.com"><span class="sw_similar">Similar</span><span class="sw_web">Web</span></a></span><span style="display:none" id="refreshRelatedProgress"><img src="images/progress.gif" class="refreshBtn"/></span></h4></td><td align=right style=padding-right:10px><img id="expCol2" style="cursor:pointer" src="images/collapse.png" title="'+str+'" onclick="expandCollapse(this,\'relatedSitesId\');" /></td></tr></table>'; if (!t) { u += '<div id="relatedSitesId" align="left" style="font-size:x-small;color:#555;padding-left:13px;padding-right:13px">'+str3+'. <br><br><b><a class="timezone" style="font-size:x-small;padding-left:0" href="#" onclick="turnOnSuggestions()">'+str4+'</a></b><br><br>'+str5+'</div>'; document.getElementById("suggestSitesStub").innerHTML = u; return } u += '<span id="relatedSitesId">'; u += '<div style="text-align:left;padding:0px 10px 0px 10px">'; try { var x = NTK.prefs.getComplexValue("love", Components.interfaces.nsISupportsString).data } catch(q) { obj = document.getElementById("suggestSitesStub").innerHTML = ""; return } if (x == "0") { u += '<table style="width: 100%;" cellpadding="0" cellspacing="0"><tr><td width="100%"><span class="thumbTitle">Patience a virtue... we are hunting for new relevant sites for you... stay tuned</span></td></tr></table>' } else { var z = NTK.prefs.getIntPref("loveID"); var i = NTK.prefs.getIntPref("numOfLove"); var A = new window.DOMParser(); var e = A.parseFromString(x, "text/xml"); var v = z, B, r, s, C, nav; for (var y = 0; y < i; v++) { if (z == "" || e == null || e.getElementsByTagName("url") == null) { u += '<span class="because">Pardon us - our suggestion engine will soon be back</span>'; break } if (e.getElementsByTagName("url")[v] == null) { v = 0 } if (e.getElementsByTagName("url")[v] == null) { return } B = e.getElementsByTagName("url")[v].childNodes[0].nodeValue; try { nav=e.getElementsByTagName("navUrl")[v].childNodes[0].nodeValue; } catch (e) { nav= B; } r = e.getElementsByTagName("desc")[v].childNodes[0].nodeValue; s = e.getElementsByTagName("dueto")[v].childNodes[0].nodeValue; u += '<a class="aSuggest" title="' + r + '" onclick="gogo(\''+nav+'\');" href="http://'+getHostofUrl(B)+'" >'; C = Math.floor(Math.random() * 5) + 1; //u+='<img class="suggest" src="images/arrow_0'+C+'.gif"/> '; u += getHostofUrl(B) + "</a><br/>"; var str = getRes("BecauseYouEnjoy"); u += '<span class="because"><b>'+str+':</b> ' + s; u += "</span><br>"; y++ } NTK.prefs.setIntPref("loveID", v) } u += "</div></span></div>"; obj = document.getElementById("suggestSitesStub").innerHTML = u } function downloadRelated(h) { if (NTK.personalAccessStats=='' || NTK.personalAccessStats==null) return; var j = ""; j = NTK.prefs.getCharPref("guid"); if (h) { h = "1" } else { h = "0" } var f = "http://www.newtabking.com/getRelatedsites4.php"; var esc = NTK.personalAccessStats.replace(/\?/g, ''); esc = esc.replace(/\&/g, ''); var i = ( "d=" + esc + "&u=" + h + "&g=" + j); var g = new window.XMLHttpRequest(); g.open("POST", f, true); g.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); g.setRequestHeader("Content-length", i.length); g.setRequestHeader("Connection", "close"); g.onreadystatechange = function () { if (g.readyState == 4) { if (g.status == 200) { if (g.responseText != "") { str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString); str.data = g.responseText; NTK.prefs.setComplexValue("love", Components.interfaces.nsISupportsString, str); NTK.prefs.setIntPref("loveID", 1) } } } }; g.send(i) } function getLastAccess(d) { var e, f; e = d / 1000; f = new Date(); f.setTime(e); return f.toDateString() } function loadSearchShortscut() { var b = NTK.prefs.getComplexValue("searchShortcuts", Components.interfaces.nsISupportsString).data; NTK.globalsearchShortcutsList = b.split(";") } function editBox(a) { if (!changing) { width = widthEl(a.id) + 20; height = heightEl(a.id) + 2; a.innerHTML = '<input id="' + a.id + '_field" class="editStuff" maxlength="254" type="text" value="' + a.innerHTML + '" onkeypress="return fieldEnter(this,event,\'' + a.id + '\')" onfocus="highLight(this);" onblur="noLight(this); return fieldBlur(this,\'' + a.id + "');\" />"; changing = true } a.firstChild.focus() } function editbox_init() { if (!document.getElementsByTagName) { return } var c, a, b; c = document.getElementsByTagName("span"); for (b = 0; b < c.length; b++) { a = c[b]; if (((" " + a.className + " ").indexOf("editText") != -1) && (a.id)) { a.onclick = function () { editBox(this) }; a.style.cursor = "pointer"; a.title = getRes("ClickToEdit"); } } } function addEvent(c, b, e, d) { if (c.addEventListener) { c.addEventListener(b, e, d); return true } else { if (c.attachEvent) { var a = c.attachEvent("on" + b, e); return a } else { alert("Please upgrade your browser to use full functionality on this page") } } } function widthEl(b) { var a; if (document.layers) { a = document.layers[b].clip.width } else { if (document.all && !document.getElementById) { a = document.all[b].offsetWidth } else { if (document.getElementById) { a = document.getElementById(b).offsetWidth } } } return a } function heightEl(b) { var a; if (document.layers) { a = document.layers[b].clip.height } else { if (document.all && !document.getElementById) { a = document.all[b].offsetHeight } else { if (document.getElementById) { a = document.getElementById(b).offsetHeight } } } return a } function highLight(a) { a.style.bgColor = "#FFFF99" } function noLight(a) { a.style.bgColor = "#F6F6F6" } function setVarsForm(a) { formVars = a } function gogo(a) { window.location = a; } function nav(a) { obj = document.getElementById("searchboxy"); obj.style.color = "#999"; obj.style.fontWeight = "normal"; try { var c = QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIWebNavigation).QueryInterface(Components.interfaces.nsIDocShellTreeItem).rootTreeItem.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIDOMWindow) } catch(b) { if (window.opener) { var c = window.opener } } c.document.getElementById("urlbar").value = a; window.location = a } function expandCollapse(d, a) { var c, b; c = document.getElementById(a); b; if (d == null || c == null) { return } if (d.src == "chrome://newtabking/content/images/expand.png") { d.src = "chrome://newtabking/content/images/collapse.png"; c.style.display = ""; b = true } else { d.src = "chrome://newtabking/content/images/expand.png"; c.style.display = "none"; b = false } NTK.prefs.setBoolPref("" + a, b) document.getElementById("sidebox-collapse").style.height = (document.getElementById("sidebox").clientHeight-20)+'px'; } function endTitleEditing(a) { var b = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString); b.data = a; NTK.prefs.setComplexValue("titleStr", Components.interfaces.nsISupportsString, b); rebuildPage(); rebuildFirstPage() } function fieldEnter(b, a, c) { a = (a) ? a : window.event; if (a.keyCode == 13 && b.value != "") { elem = document.getElementById(c); noLight(elem); elem.innerHTML = replaceHtmlChars(b.value); endTitleEditing(replaceHtmlChars(b.value)); changing = false; return false } else { return true } } function fieldBlur(a, b) { if (a.value != "") { elem = document.getElementById(b); elem.innerHTML = replaceHtmlChars(a.value); endTitleEditing(replaceHtmlChars(a.value)); changing = false; return false } } function replaceHtmlChars(a) { return a.replace(/&/g, "&").replace(/>/g, ">").replace(/</g, "<").replace(/"/g, """) } function removeSurvey() { NTK.prefs.setBoolPref("showSurvey", false); document.getElementById("surveyStub").innerHTML = ""; nav("http://www.newtabking.com/survey.php") } function removeTip() { document.getElementById("tipID").innerHTML = ""; NTK.prefs.setIntPref("ntkTip", 0) } function autoFocus(a) { NTK.prefs.setBoolPref("ntkfocus-pref", a); selectAutoFocus(a); var d = document.getElementById("searchboxy"); if (a) { d.focus() } else { d.style.fontWeight = "normal"; d.style.color = "#999"; d.style.fontStyle = "oblique"; var str = getRes("SearchTheWeb"); d.value = str; try { var f = QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIWebNavigation).QueryInterface(Components.interfaces.nsIDocShellTreeItem).rootTreeItem.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIDOMWindow) } catch(c) { if (window.opener) { var f = window.opener } } var b = f.document.getElementById("urlbar"); b.focus(); b.select() } rebuildFirstPage(); rebuildPage(getMainContent()) } function ValidateTextBox(b) { var a; var c; if (window.event) { a = window.event.keyCode } else { if (b) { a = b.which } else { return true } } c = String.fromCharCode(a); c = c.toLowerCase(); if ((a == null) || (a == 0) || (a == 8) || (a == 9) || (a == 13) || (a == 27)) { return true } else { if ((("abcdefghijklmnopqrstuvwxyz0123456789").indexOf(c) > -1)) { return true } else { return false } } } function sharingUserEmail(a) { NTK.prefs.setCharPref("shareUserEmail", a) } var lastQuery; function sharingUserAvail(d) { if (lastQuery == d) { return } NTK.prefs.setCharPref("shareUsername", d); lastQuery = d; document.getElementsByTagName("uURLIndi")[1].innerHTML = '<img style="vertical-align:text-top" src="images/progress2.gif"/> Checking availability'; var a = ""; try { a = NTK.prefs.getCharPref("guid") } catch(c) { return false } var b = new XMLHttpRequest(); b.open("GET", "http://www.newtabking.com/cU.php?u=" + d + "&g=" + a, true); b.onreadystatechange = function (e) { var f = true; var g; if (b.readyState == 4) { if (b.status == 200) { switch (b.responseText) { case "1": g = '<img style="vertical-align:sub" src="images/ok.gif"/> Available!'; break; case "2": g = '<img style="vertical-align:sub" src="images/ok.gif"/> Your username verified!'; break; default: g = '<img style="vertical-align:sub" src="images/error.png"/><b> Choose another name!</b>'; break } document.getElementsByTagName("uURLIndi")[1].innerHTML = g } } }; b.send(null); return true } function showSharing3() { var g = ""; try { g = NTK.prefs.getIntPref("ntkTheme") } catch(f) { g = 1 } var b = ""; try { b = NTK.prefs.getCharPref("guid") } catch(f) { return false } var i = ""; try { i = NTK.prefs.getCharPref("shareUsername") } catch(f) {} var h = ""; try { h = NTK.prefs.getCharPref("shareUserEmail") } catch(f) {} var d = NTK.prefs.getCharPref("shareSites"); var c = new XMLHttpRequest(); var a = ("http://www.newtabking.com/sU.php?u=" + i + "&e=" + h + "&t=" + g + "&g=" + b + "&s=" + (d)); c.open("GET", a, true); document.getElementsByTagName("sharingProgress")[1].style.display = ""; c.onreadystatechange = function (e) { var j = true; var k; if (c.readyState == 4) { if (c.status == 200) { if (c.responseText == "0") { document.getElementsByTagName("uURLIndi")[1].innerHTML = '<img style="vertical-align:sub" src="images/error.png"/><b> Choose another name!</b>'; return } else { Lightbox.open({ content: "#shareDivID3", player: "inline", title: "Share (step 3 out of 3)", height: 450, width: 495 }); setTimeout(doFocus3, 1000) } } else { document.getElementsByTagName("sharingProgress")[1].innerHTML = "Communication error. Check your Internet connectivity" } } }; c.send(null); return true } function share(b) { var a, c = encodeURI("http://www.newtabking.com/share/" + NTK.prefs.getCharPref("shareUsername")); switch (b) { case 0: a = "http://www.facebook.com/share.php?u=" + c + "&t=My top used sites (thanks New Tab King!)"; break; case 1: a = "http://twitter.com/home?status=Just shared my top used sites at " + c; break; case 2: a = "http://www.myspace.com/Modules/PostTo/Pages/?l=3&u=" + c + "&t=My top used sites (thanks New Tab King!)&c=In case you care to take a look a my top used sites!"; break; case 3: a = "http://digg.com/submit?phase=2&url=" + c + "&title=My top used sites (thanks New Tab King!)&bodytext=See+what+New+Tab+King+for+Firefox+can+do+to+your+CTRL%2BT+experience.++Quick+intro+about+and+add-on+that+changes+the+Firefox+new+tab+navigation+way+of+life%0A%0Ahttp%3A%2F%2Fwww.newtabking.com"; break; case 4: a = "http://www.stumbleupon.com/submit?url=" + c + "&title=My top used sites (thanks New Tab King!)"; break; case 5: a = "http://del.icio.us/post?url=" + c + "&title=My top used sites (thanks New Tab King!)¬es=See+what+New+Tab+King+for+Firefox+can+do+to+your+CTRL%2BT+experience.++Quick+intro+about+and+add-on+that+changes+the+Firefox+new+tab+navigation+way+of+life%0A%0Ahttp%3A%2F%2Fwww.newtabking.com"; break } nav(a) } function showSharing() { document.getElementById("optionalSharingID").innerHTML = generateSharingContent(); Lightbox.open({ content: "#shareDivID1", player: "inline", title: "Share (step 1 out of 3)", height: 450, width: 495 }) } function showSharing2() { NTK.prefs.setCharPref("shareSites", getSharingSites()); Lightbox.open({ content: "#shareDivID2", player: "inline", title: "Share (step 2 out of 3)", height: 450, width: 495 }); setTimeout(doFocus2, 1000) } function doFocus2() { var a = document.getElementsByTagName("input"); var c = a.length; var b = c - 1; while (b >= 0) { if (a[b].getAttribute("id") == "usernameU") { a[b].focus(); try { var g = NTK.prefs.getCharPref("shareUsername"); a[b].value = g } catch(f) {} } if (a[b].getAttribute("id") == "userEmail") { a[b].focus(); try { var d = NTK.prefs.getCharPref("shareUserEmail"); a[b].value = d } catch(f) {} } b = b - 1 } } function doFocus3() { try { var g = NTK.prefs.getCharPref("shareUsername"); var b = "http://www.newtabking.com/share/" + g; var a = document.getElementsByTagName("textarea"); var d = a.length; var c = d - 1; while (c >= 0) { if (a[c].getAttribute("id") == "urlEmbed") { try { a[c].value = '<a href="' + b + '">My most used web sites</a>' } catch(f) {} } c = c - 1 } var a = document.getElementsByTagName("urlEmdX"); var d = a.length; var c = d - 1; while (c >= 0) { a[c].innerHTML = '<a class="aShare" href="' + b + '">' + b + "</a>"; c = c - 1 } } catch(f) {} } function generateSharingContent() { var b, a, c, f; b = [removeDuplicatesFilter, fixEmptyTitlesFilter, removeWWWFromTitles, filterBlackList]; try { a = NTK.prefs.getBoolPref("bookmarksOnly") } catch(d) { a = false; NTK.prefs.setBoolPref("bookmarksOnly", false) } c = getPlaces(10 * NTK.prefs.getIntPref("maxMostUsedSites"), true, a); c = filterPlaces(c, b); numMostUsedSites = c.length; html = getPlacesAsSharingCharts(c); return html } function getSharingSites() { var d = document.getElementsByTagName("share"); var g, b, f, e; var a = ""; for (var c = (d.length) / 2; c < d.length; c++) { e = d[c].firstChild.checked; if (e == false) { continue } g = encodeURI(d[c].getAttribute("titleX")); b = escape(d[c].getAttribute("hrefX")); f = escape(d[c].getAttribute("visitsX")); if (a != "") { a += "<->" } a += (g + "::::" + b + "::::" + f) } return a } function switchBookmarksOnly(b) { var c, a; c = NTK.prefs.getBoolPref("bookmarksOnly"); if (c) { NTK.prefs.setBoolPref("bookmarksOnly", false) } else { NTK.prefs.setBoolPref("bookmarksOnly", true) } a = document.getElementById("mainContent"); a.innerHTML = generateContent(); document.getElementById("box3").style.height = box3Const + (numMostUsedSites) * box3ConstBarConst + "px"; writeCurrentBookmarksOnlyText(); rebuildPage() } function refreshRelatedSites() { if (NTK.prefs.getBoolPref("suggested-pref")) { /*document.getElementById("refreshRelatedProgress").style.display="";*/ /*document.getElementById("refreshRelatedRefresh").style.display="none";*/ setTimeout(refreshRelatedSitesTimeout, 555) } } function refreshRelatedSitesTimeout() { populateRelatesSites(true); /*document.getElementById("refreshRelatedProgress").style.display="none";*/ /*document.getElementById("refreshRelatedRefresh").style.display=""*/ } function turnOnSuggestions() { var str = getRes("ExpandCollapse"); var str2= getRes("SitesYouWillLove"); var a = '<div id="box5"><hr /><table width="100%"><tr><td><h4 align="left" style="padding:0 0 0 10px;margin:0 0 0 0"><span style="cursor:pointer" onclick="javascript:refreshRelatedSites()" title="Get other suggestions"> '+str2+'</span><!-- <span onclick="javascript:refreshRelatedSites()" title="Get other suggestions" id="refreshRelatedRefresh"><img src="images/refresh2.png" class="refreshBtn"/></span>--><span style="display:none" id="refreshRelatedProgress"><img src="images/progress.gif" class="refreshBtn"/></span></h4></td><td align=right style=padding-right:10px><img id="expCol2" style="cursor:pointer" src="images/collapse.png" title="'+str+'" onclick="expandCollapse(this,\'relatedSitesId\');" /></td></tr></table>'; NTK.prefs.setBoolPref("suggested-pref", true); downloadRelated(true); a += '<div align="left" style="font-size:x-small;color:#555;padding-left:13px;padding-right:13px">Stay tuned for personal suggested sites - we promise exciting findings.</div>'; document.getElementById("suggestSitesStub").innerHTML = a; setTimeout(refreshRelatedSitesTimeout, 4444) } function changeTitleForURL(b, e) { var d = Components.classes["@mozilla.org/browser/nav-history-service;1"].getService(Components.interfaces.nsIGlobalHistory2); if (!d) { alert("err"); return null } var a = Components.classes["@mozilla.org/network/standard-url;1"].createInstance(Components.interfaces.nsIURI); a.spec = b; var c = d.setPageTitle(a, e) } function titleEnter(b, a, c) { a = (a) ? a : window.event; if (a.keyCode == 13 && b.value != "") { elem = document.getElementById(c); noLight(elem); elem.innerHTML = replaceHtmlChars(b.value); changeTitleForURL(elem.parentNode.href, replaceHtmlChars(b.value)); changing = false; setTimeout(rebuildAfterTimeout, 8000); return false } else { return true } } function titleBlur(a, b) { if (a.value != "") { elem = document.getElementById(b); elem.innerHTML = replaceHtmlChars(a.value); changeTitleForURL(elem.href, replaceHtmlChars(a.value)); changing = false; setTimeout(rebuildAfterTimeout, 8000); return false } } function launchApp(b) { var a = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile); a.initWithPath(b); a.launch() } function setBackground() { window.openDialog("chrome://newtabking/content/options-tabs.xul", "NewTabKingOptions", "chrome, toolbar, centerscreen, resizable, scrollbars, dialog, modal", { status: "Reading remote data", maxProgress: 50, progress: 10 }, onOptionsClose); return } function doNotepad() { var a = document.getElementById("notepadTxtId").value; doNotepadHeight(); var b = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString); b.data = a; NTK.prefs.setComplexValue("notepadTxt", Components.interfaces.nsISupportsString, b) } function setTheme(a) { NTK.prefs.setIntPref("ntkTheme", a); rebuildFirstPage(); navHome() } function onOptionsClose() { /*c = Components.classes["@mozilla.org/xre/app-info;1"].getService(Components.interfaces.nsIXULRuntime).OS; if (c == "WINNT") { } else { NTK.prefs.setIntPref("usageCnt",0); }*/ rebuildFirstPage(); navHome(); } function createCheckbox(f, a, g, c, e) { var d, b; if (f.substr(0, 6) == "index.") { f = a } if (f.substr(0, 9) == "login.php") { f = a } d = f.substr(0, g); if (d != f) { d = d + "..." } b = '<share hrefX="' + a + '" titleX="' + d.replace(/"/g, "") + '" visitsX="' + e + '"><input checked="true" type="checkbox" class="aI" style=width:15px>'; b += ' <span id="r_' + c + '" title="' + a + '">' + d + "</span></input></share>"; return b } function getPlacesAsSharingCharts(a) { var d, c, f, j, b, g; c = getMaxAccessCount(a); d = ('<div class="section">'); d += ('<ul class="chartlist" style="width:90%">'); f = 100; try { j = NTK.prefs.getIntPref("maxMostUsedSites") } catch(h) { j = 50 } for (b = 0; b < a.length && b < j; b++) { if (a[b] == null || a[b].title == null || a[b].uri == null || a[b].accessCount == null) { continue } d += ('<li id="row_' + b + '" style="height:10px" >'); d += createCheckbox(a[b].title, a[b].uri, 47, b, a[b].accessCount); d += ('<span class="indexShare" style="width: ' + Math.round(a[b].accessCount * 94 / c) + '%">(' + a[b].accessCount + "%)</span>"); d += ("</li>") } numMostUsedSites = b; d += ("</ul>"); d += ("</div>"); return d } function addHostToBlackTabList(g, h, e) { var str = getRes("ConfirmRemoving"); answer = confirm(str + " :" + g ); if (answer == 0) { return } var h, b, f, a, d; h = 0; for (d = 0; d < e; d++) { b = document.getElementById("tabrow_" + d); if (b != null) { f = b.href; if (f.indexOf(g) != -1) { b.style.display = "none" } } } try { a = NTK.prefs.getCharPref("blackTablist") } catch(c) { a = "" } if (!a) { a = g } else { a += ";" + g } try { NTK.prefs.setCharPref("blackTablist", a) } catch(c) { printObject("ex", c) } } function showDelTab(a, b) { var c = document.getElementById("deleteTabImg_" + a); if (b == 1) { c.style.display = "" } else { c.style.display = "none" } } function launchFolder() { var e, c, b, d, a; e = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("Pers", Components.interfaces.nsIFile); c = e.path; b = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile); b.initWithPath("c:\\windows\\explorer.exe"); d = Components.classes["@mozilla.org/process/util;1"].createInstance(Components.interfaces.nsIProcess); d.init(b); a = [c]; d.run(false, a, a.length) };